package javase2.day07.demo04;
/*
需求：
    1.定义一个厨子Cook接口，内含唯一抽象方法makeFood，无参，无返回值
    2.使用Lambda表达式标志格式调用invokeCook方法，打印"吃饭了"字样
 */
public class LambdaNoArgs {
    public static void main(String[] args) {
        //第一方式：使用匿名内部类
        invokeCook(new Cook() {
            @Override
            public void makeFood() {
                System.out.println("匿名内部类:吃饭了");
            }
        });

        //第二种方式：Lambda表达式
        invokeCook(()->{
            System.out.println("Lambda表达式:吃饭了");
        });

        //Lambda表达式省略
        invokeCook(()-> System.out.println("Lambda表达式省略:吃饭了"));

//        匿名内部类:吃饭了
//        Lambda表达式:吃饭了
//        Lambda表达式省略:吃饭了

    }

    //invokeCook方法，打印"吃饭了"字样
    public static void invokeCook(Cook cook){
        cook.makeFood();
    }
}
